home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1994-03-02 | 2.0 KB | 66 lines |
- Hide
- 'Load Iff "dh2:AMOSgfx/StreetRacerCars.iff",0
- 'For C=0 To 5
- ' For A=0 To 19
- ' Get Sprite 20+C*20+A,A*16,C*16 To A*16+16,C*16+16
- ' Hot Spot 20+C*20+A,$11
- ' Next
- 'Next
- WX=40 : WY=40
- Screen Open 0,WX*16,WY*16,2,0
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 0
- Screen Display 0,128,40,320,256
- Get Sprite Palette
- For A=1 To 15 : Colour A+16, Colour(A) : Next
- For A=0 To 99
- Ink Rnd(15) : Draw Rnd(WX*16),Rnd(WY*16) To Rnd(WX*16),Rnd(WY*16)
- Next
- Degree
- Dim CAR(1,10),RT(39,1)
- PL=2
- CAR(0,8)=2 : CAR(1,8)=1
- ' X, Y,SX,SY,WX,WY,SP,RT,CT,OX,OY
- ' 0 1 2 3 4 5 6 7 8 9 10
- For A=0 To 39
- RT(A,0)=Sin(A*9)*128
- RT(A,1)=-Cos(A*9)*128
- Next
- MX=WX*16
- MY=WY*16
- SH=256/PL
- If PL=2
- Screen Display 0,128,36,320,128
- Screen Clone 1
- Screen Display 1,128,172,320,128
- End If
- Do
- Wait Vbl
- For C=0 To PL-1
- Gosub CONTROL
- Next
- If PL=1
- C=0 : Sprite C*2,X Hard(C,CAR(C,0)/8-CAR(C,9)),Y Hard(C,CAR(C,1)/8-CAR(C,10)),CAR(C,8)*20+CAR(C,7)/2+C*60
- Else
- X1=CAR(0,0)/8 : Y1=CAR(0,1)/8 : I1=CAR(0,8)*20+CAR(0,7)/2
- X2=CAR(1,0)/8 : Y2=CAR(1,1)/8 : I2=CAR(1,8)*20+CAR(1,7)/2+60
- Sprite 8,Min(Max(X Hard(0,X1-CAR(0,9)),112),464),Y Hard(0,Y1-CAR(0,10)),I1
- Sprite 10,Min(Max(X Hard(0,X2-CAR(0,9)),112),464),Y Hard(0,Y2-CAR(0,10)),I2
- Sprite 9,Min(Max(X Hard(1,X1-CAR(1,9)),112),464),Y Hard(1,Y1-CAR(1,10)),I1
- Sprite 11,Min(Max(X Hard(1,X2-CAR(1,9)),112),464),Y Hard(1,Y2-CAR(1,10)),I2
- End If
- Loop
- CONTROL:
- If Jup(1-C) Then CAR(C,6)=Min(CAR(C,6)+2,24)
- If Jdown(1-C) Then CAR(C,6)=Max(CAR(C,6)-3,-4)
- If Jleft(1-C) Then Add CAR(C,7),-1,0 To 39
- If Jright(1-C) Then Add CAR(C,7),1,0 To 39
- CAR(C,4)=(RT(CAR(C,7),0)*CAR(C,6))/64
- CAR(C,5)=(RT(CAR(C,7),1)*CAR(C,6))/64
- CAR(C,2)=Min(Max((CAR(C,2)*3+CAR(C,4))/4,-32),32)
- CAR(C,3)=Min(Max((CAR(C,3)*3+CAR(C,5))/4,-32),32)
- CAR(C,0)=Min(Max(CAR(C,0)+CAR(C,2),80),MX*8-80)
- CAR(C,1)=Min(Max(CAR(C,1)+CAR(C,3),80),WY*128-80)
- CAR(C,9)=Min(Max(CAR(C,0)/8-160,0),MX-320)
- CAR(C,10)=Min(Max(CAR(C,1)/8-SH/2,0),MY-SH)
- Screen Offset C,CAR(C,9),CAR(C,10)
- Return